package br.com.tenax.dao;


import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;

import br.com.tenax.entidade.Funcionario;

@ManagedBean
public class FuncionarioMB {

	private Funcionario funcionario = new Funcionario();
	
	//private FuncionarioDAO dao = new FuncionarioDAOimpl();
	
	private FuncionarioDAO dao = new FuncionarioDAOHibernate();

	private Funcionario funcionarioRetorno = new Funcionario();

	private List<Funcionario> lista = new ArrayList<>();

	public void atualizar() {
		dao.atualizar(funcionario);
		funcionarioRetorno = funcionario;
		listar();
	}
	
	public void consultar() {
		funcionarioRetorno = dao.consultar(funcionario);
	}

	public void deletar() {
		dao.deletar(funcionario);
		funcionarioRetorno = funcionario;
		listar();
	}

	public FuncionarioDAO getDao() {
		return dao;
	}

	public Funcionario getFuncionario() {
		return funcionario;
	}

	public Funcionario getFuncionarioRetorno() {
		return funcionarioRetorno;
	}

	public List<Funcionario> getLista() {
		return lista;
	}

	public void listar() {
		lista = dao.listar();
	}

	public void salvar() {
		System.out.println(funcionario);
		dao.incluir(funcionario);
		listar();
	}

	public void setDao(FuncionarioDAO dao) {
		this.dao = dao;
	}

	public void setFuncionario(Funcionario funcionario) {
		this.funcionario = funcionario;
	}

	public void setFuncionarioRetorno(Funcionario funcionarioRetorno) {
		this.funcionarioRetorno = funcionarioRetorno;
	}

	public void setLista(List<Funcionario> lista) {
		this.lista = lista;
	}
	
    public List<String> complete(String query) {  
        List<String> results = new ArrayList<String>();  
          
        results.add("Informatica");
        results.add("Vendas");
        results.add("Estoque");
        results.add("Diretoria");
        results.add("Financeiro");
        results.add("Administrativo");
        
          
        return results;  
    }
}